
package SintaticoPacote;

import compilador_full.TabelaSimbolos;

/**
 *
 * @author Beto
 */
public class ExpressaoAritmetica {

    public static boolean expAritmetica(TabelaSimbolos tabelaSimbolos) {
        String opAditivo;

        if(TermoAritmetico.termoAritmetico(tabelaSimbolos)) {
            if(tabelaSimbolos.superLookahead(1).equals(";")){
                    return true;
                }
            while(tabelaSimbolos.getLookahead().equals("+") ||
                    tabelaSimbolos.getLookahead().equals("-")) {

                opAditivo = tabelaSimbolos.getLookahead();
                tabelaSimbolos.reconhecer(opAditivo);

                if(TermoAritmetico.termoAritmetico(tabelaSimbolos))
                {
                    while(tabelaSimbolos.getLookahead().equals("+") ||
                          tabelaSimbolos.getLookahead().equals("-"))
                    {
                        tabelaSimbolos.reconhecer(tabelaSimbolos.getLookahead());
                        ExpressaoAritmetica.expAritmetica(tabelaSimbolos);
                    }
                    return true;
                }
                else
                    return false;
            }
            return false;
        }
        else {
            return false;

        }


        
    }

}
